/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Participation Function</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * <!-- begin-model-doc -->
 * vocSet: T10267 (C-0-T10267-cpt)
 * <!-- end-model-doc -->
 * @see org.hl7.v3.V3Package#getParticipationFunction()
 * @model extendedMetaData="name='ParticipationFunction'"
 * @generated
 */
public enum ParticipationFunction implements Enumerator {
	/**
	 * The '<em><b>ADMPHYS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ADMPHYS_VALUE
	 * @generated
	 * @ordered
	 */
	ADMPHYS(0, "ADMPHYS", "ADMPHYS"),

	/**
	 * The '<em><b>ANRS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ANRS_VALUE
	 * @generated
	 * @ordered
	 */
	ANRS(1, "ANRS", "ANRS"),

	/**
	 * The '<em><b>ANEST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ANEST_VALUE
	 * @generated
	 * @ordered
	 */
	ANEST(2, "ANEST", "ANEST"),

	/**
	 * The '<em><b>ATTPHYS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ATTPHYS_VALUE
	 * @generated
	 * @ordered
	 */
	ATTPHYS(3, "ATTPHYS", "ATTPHYS"),

	/**
	 * The '<em><b>DISPHYS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #DISPHYS_VALUE
	 * @generated
	 * @ordered
	 */
	DISPHYS(4, "DISPHYS", "DISPHYS"),

	/**
	 * The '<em><b>FASST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #FASST_VALUE
	 * @generated
	 * @ordered
	 */
	FASST(5, "FASST", "FASST"),

	/**
	 * The '<em><b>MDWF</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #MDWF_VALUE
	 * @generated
	 * @ordered
	 */
	MDWF(6, "MDWF", "MDWF"),

	/**
	 * The '<em><b>NASST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #NASST_VALUE
	 * @generated
	 * @ordered
	 */
	NASST(7, "NASST", "NASST"),

	/**
	 * The '<em><b>PCP</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #PCP_VALUE
	 * @generated
	 * @ordered
	 */
	PCP(8, "PCP", "PCP"),

	/**
	 * The '<em><b>PRISURG</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #PRISURG_VALUE
	 * @generated
	 * @ordered
	 */
	PRISURG(9, "PRISURG", "PRISURG"),

	/**
	 * The '<em><b>RNDPHYS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #RNDPHYS_VALUE
	 * @generated
	 * @ordered
	 */
	RNDPHYS(10, "RNDPHYS", "RNDPHYS"),

	/**
	 * The '<em><b>SNRS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #SNRS_VALUE
	 * @generated
	 * @ordered
	 */
	SNRS(11, "SNRS", "SNRS"),

	/**
	 * The '<em><b>SASST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #SASST_VALUE
	 * @generated
	 * @ordered
	 */
	SASST(12, "SASST", "SASST"),

	/**
	 * The '<em><b>TASST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TASST_VALUE
	 * @generated
	 * @ordered
	 */
	TASST(13, "TASST", "TASST");

	/**
	 * The '<em><b>ADMPHYS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ADMPHYS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ADMPHYS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ADMPHYS_VALUE = 0;

	/**
	 * The '<em><b>ANRS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ANRS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ANRS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ANRS_VALUE = 1;

	/**
	 * The '<em><b>ANEST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ANEST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ANEST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ANEST_VALUE = 2;

	/**
	 * The '<em><b>ATTPHYS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ATTPHYS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ATTPHYS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ATTPHYS_VALUE = 3;

	/**
	 * The '<em><b>DISPHYS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>DISPHYS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #DISPHYS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int DISPHYS_VALUE = 4;

	/**
	 * The '<em><b>FASST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>FASST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #FASST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int FASST_VALUE = 5;

	/**
	 * The '<em><b>MDWF</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>MDWF</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #MDWF
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int MDWF_VALUE = 6;

	/**
	 * The '<em><b>NASST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>NASST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #NASST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int NASST_VALUE = 7;

	/**
	 * The '<em><b>PCP</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>PCP</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #PCP
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int PCP_VALUE = 8;

	/**
	 * The '<em><b>PRISURG</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>PRISURG</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #PRISURG
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int PRISURG_VALUE = 9;

	/**
	 * The '<em><b>RNDPHYS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>RNDPHYS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #RNDPHYS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int RNDPHYS_VALUE = 10;

	/**
	 * The '<em><b>SNRS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>SNRS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #SNRS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int SNRS_VALUE = 11;

	/**
	 * The '<em><b>SASST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>SASST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #SASST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int SASST_VALUE = 12;

	/**
	 * The '<em><b>TASST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TASST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TASST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TASST_VALUE = 13;

	/**
	 * An array of all the '<em><b>Participation Function</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final ParticipationFunction[] VALUES_ARRAY =
		new ParticipationFunction[] {
			ADMPHYS,
			ANRS,
			ANEST,
			ATTPHYS,
			DISPHYS,
			FASST,
			MDWF,
			NASST,
			PCP,
			PRISURG,
			RNDPHYS,
			SNRS,
			SASST,
			TASST,
		};

	/**
	 * A public read-only list of all the '<em><b>Participation Function</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<ParticipationFunction> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Participation Function</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ParticipationFunction get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			ParticipationFunction result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Participation Function</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ParticipationFunction getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			ParticipationFunction result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Participation Function</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ParticipationFunction get(int value) {
		switch (value) {
			case ADMPHYS_VALUE: return ADMPHYS;
			case ANRS_VALUE: return ANRS;
			case ANEST_VALUE: return ANEST;
			case ATTPHYS_VALUE: return ATTPHYS;
			case DISPHYS_VALUE: return DISPHYS;
			case FASST_VALUE: return FASST;
			case MDWF_VALUE: return MDWF;
			case NASST_VALUE: return NASST;
			case PCP_VALUE: return PCP;
			case PRISURG_VALUE: return PRISURG;
			case RNDPHYS_VALUE: return RNDPHYS;
			case SNRS_VALUE: return SNRS;
			case SASST_VALUE: return SASST;
			case TASST_VALUE: return TASST;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private ParticipationFunction(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //ParticipationFunction
